CosyOS-II API 用户参考手册  1.0.3
宏定义
ur_api.h 文件参考

用户API 更多...

浏览源代码.

宏定义

#define uExternTask(task)   sCSV_ExternTask(task)
 静态声明任务(无私信) 更多...
 
#define dExternTask(task)   dCSV_ExternTask(task)
 动态声明任务(无私信) 更多...
 
#define uExternTask_Msg(task)   sCSV_ExternTask_Msg(task)
 静态声明任务(有私信) 更多...
 
#define dExternTask_Msg(task)   dCSV_ExternTask_Msg(task)
 动态声明任务(有私信) 更多...
 
#define uCreateTask(task, pri, tss, srt, ntm)   sCSV_CreateTask(task, pri, tss, srt, ntm, OS_NULL)
 静态创建一般任务 更多...
 
#define dCreateTask(task, pri, tss, srt, ntm)   dCSV_CreateTask(task, pri, tss, srt, ntm, OS_NULL)
 动态创建一般任务 更多...
 
#define uCreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm)   sCSV_CreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm)
 静态创建定时中断任务 更多...
 
#define dCreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm)   dCSV_CreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm)
 动态创建定时中断任务 更多...
 
#define uCreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm)   sCSV_CreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm)
 静态创建定时查询任务 更多...
 
#define dCreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm)   dCSV_CreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm)
 动态创建定时查询任务 更多...
 
#define uStartTask(task, status)   sUSV_StartTask(&u_taskhand_##task, (s_voidvoid_tfp)task, status)
 启动任务 更多...
 
#define uStartTask_Ready(task)   uStartTask(task, OS_STATUS_READY)
 启动任务并就绪 更多...
 
#define uStartTask_Suspend(task)   uStartTask(task, OS_STATUS_SUSPENDED)
 启动任务并挂起 更多...
 
#define tClearDelay   sTSV_ClearDelay
 清除就绪延时 更多...
 
#define uSwitchTask(task)   sUSV_SwitchTask(u_taskhandle_##task)
 切换任务(尝试切换至某任务) 更多...
 
#define uResumeTask(task)   sUSV_ResumeTask(u_taskhandle_##task)
 恢复任务 更多...
 
#define uSuspendTask(task)   sUSV_SuspendTask(u_taskhandle_##task)
 挂起任务 更多...
 
#define uDeleteTask(task)   sUSV_DeleteTask(u_taskhandle_##task)
 删除任务 更多...
 
#define uSetTaskPri(task, npri)   sUSV_SetTaskPri(u_taskhandle_##task, npri)
 设置任务优先级 更多...
 
#define uClearBlock(task)   sUSV_ClearBlock(u_taskhandle_##task)
 清除阻塞(状态) 更多...
 
#define uSetBlock_tc(task, tc)    sUSV_SetBlock(u_taskhandle_##task, tc)
 设置阻塞-滴答周期 更多...
 
#define uSetBlock_ms(task, ms)    uSetBlock_tc(task, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
 设置阻塞-毫秒 更多...
 
#define uSetBlock_s(task, s)    uSetBlock_ms(task, 1000UL * (s))
 设置阻塞-秒钟 更多...
 
#define uSetBlock_m(task, m)    uSetBlock_s(task, 60UL * (m))
 设置阻塞-分钟 更多...
 
#define uSetBlock_h(task, h)    uSetBlock_m(task, 60UL * (h))
 设置阻塞-小时 更多...
 
#define uYieldTasking   su_yield_tasking()
 禅让任务 更多...
 
#define uSetTaskingPri(npri)    sUSV_SetTaskPri(s_task_current, npri)
 设置自身任务优先级 更多...
 
#define uSuspendTasking   sUSV_SuspendTask(s_task_current)
 挂起自身任务 更多...
 
#define uDeleteTasking   sUSV_DeleteTask(s_task_current)
 删除自身任务 更多...
 
#define uResumeSuspend(task)    sUSV_ResumeSuspend(u_taskhandle_##task)
 恢复指定任务并挂起自身任务 更多...
 
#define uEndTasking   }while(true)
 结束自身任务 更多...
 
#define uDelay_tc(tc)   sUSV_Delay(tc)
 延时-滴答周期 更多...
 
#define uDelay_ms(ms)   uDelay_tc((1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
 延时-毫秒 更多...
 
#define uDelay_s(s)    uDelay_ms(1000UL * (s))
 延时-秒钟 更多...
 
#define uDelay_m(m)    uDelay_s(60UL * (m))
 延时-分钟 更多...
 
#define uDelay_h(h)    uDelay_m(60UL * (h))
 延时-小时 更多...
 
#define uCreateHook_TimInt(tmid, arl, hook)   sCSV_CreateHook_TimInt(tmid, arl, hook)
 创建定时中断钩子 更多...
 
#define uCreateHook_TimQry(tmid, event, arl, hook)   sCSV_CreateHook_TimQry(tmid, event, arl, hook)
 创建定时查询钩子 更多...
 
#define uTimInt_tc(tmid, tc)   sUSV_TimInt(tmid, tc)
 定时中断-滴答周期 更多...
 
#define uTimInt_ms(tmid, ms)   uTimInt_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
 定时中断-毫秒 更多...
 
#define uTimInt_s(tmid, s)    uTimInt_ms(tmid, 1000UL * (s))
 定时中断-秒钟 更多...
 
#define uTimInt_m(tmid, m)    uTimInt_s(tmid, 60UL * (m))
 定时中断-分钟 更多...
 
#define uTimInt_h(tmid, h)    uTimInt_m(tmid, 60UL * (h))
 定时中断-小时 更多...
 
#define uTimInt_Cancel(tmid)   uTimInt_tc(tmid, 0)
 终止定时中断 更多...
 
#define xTimInt_AutoReload(tmid, arl)   s_timint_autoreload[tmid] = arl
 定时中断定时器自动重装载 更多...
 
#define uTimQry_tc(tmid, tc)   sUSV_TimQry(tmid, tc)
 定时查询-滴答周期 更多...
 
#define uTimQry_ms(tmid, ms)   uTimQry_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
 定时查询-毫秒 更多...
 
#define uTimQry_s(tmid, s)    uTimQry_ms(tmid, 1000UL * (s))
 定时查询-秒钟 更多...
 
#define uTimQry_m(tmid, m)    uTimQry_s(tmid, 60UL * (m))
 定时查询-分钟 更多...
 
#define uTimQry_h(tmid, h)    uTimQry_m(tmid, 60UL * (h))
 定时查询-小时 更多...
 
#define uTimQry_Cancel(tmid)   uTimQry_tc(tmid, ~0)
 终止定时查询 更多...
 
#define xTimQry_AutoReload(tmid, arl)   s_timqry_autoreload[tmid] = arl
 定时查询定时器自动重装载 更多...
 
#define uExternMut(mut)    sCSV_ExternMut(mut)
 声明互斥信号量 更多...
 
#define uCreateMut(mut)    sCSV_CreateMut(mut)
 创建互斥信号量 更多...
 
#define uTakeMut(mut, tc)   sUSV_TakeMut(mut, tc)
 获取互斥信号量 更多...
 
#define uBackMut(mut)    sUSV_BackMut(mut)
 归还互斥信号量 更多...
 
#define uExternBin(bin)   sCSV_ExternBin(bin)
 声明二值信号量 更多...
 
#define uCreateBin(bin, init)   sCSV_CreateBin(bin, init)
 创建二值信号量 更多...
 
#define uLockBin(bin)    bin.binary = false
 上锁二值信号量 更多...
 
#define uWaitBin(bin, tc)   sUSV_WaitBin(bin, tc)
 等待二值信号量 更多...
 
#define uGiveBin(bin)    sUSV_GiveBin(bin)
 给予二值信号量 更多...
 
#define uTakeBin(bin, tc)   sUSV_TakeBin(bin, tc)
 获取二值信号量 更多...
 
#define uBackBin(bin)    uGiveBin(bin)
 归还二值信号量 更多...
 
#define uExternSem(sem)   sCSV_ExternSem(sem)
 声明计数信号量 更多...
 
#define uCreateSem(sem, init, max)   sCSV_CreateSem(sem, init, max)
 创建计数信号量 更多...
 
#define uGiveSem(sem)    sUSV_GiveSem(sem)
 给予计数信号量 更多...
 
#define uTakeSem(sem, tc)   sUSV_TakeSem(sem, tc)
 获取计数信号量 更多...
 
#define uBackSem(sem)    uGiveSem(sem)
 归还计数信号量 更多...
 
#define uRecvTaskMsg(tc)    sUSV_RecvTaskMsg(tc)
 接收私信

别名
          uRecvTM 更多...
 
#define uSendTaskMsg(task)   sUSV_SendTaskMsg(task)
 发送私信

别名
          uSendTM 更多...
 
#define uExternTionbox(tbox)   sCSV_ExternTionbox(tbox)
 声明信箱 更多...
 
#define uCreateTionbox(tbox)   sCSV_CreateTionbox(tbox)
 创建信箱 更多...
 
#define uRecvFetion(tbox, tc)    sUSV_RecvFetion(tbox, tc)
 接收飞信

别名
          uRecvFet 更多...
 
#define uSendFetion(tbox, tion)   sUSV_SendFetion(tbox, tion)
 发送飞信

别名
          uSendFet 更多...
 
#define uExternMailbox(mbox)   sCSV_ExternMailbox(mbox)
 声明邮箱 更多...
 
#define uCreateMailbox(mbox)   sCSV_CreateMailbox(mbox)
 创建邮箱 更多...
 
#define uRecvMail(mbox, tc)    sUSV_RecvMail(mbox, tc)
 接收邮件 更多...
 
#define uSendMail(mbox, mail)   sUSV_SendMail(mbox, mail)
 发送邮件 更多...
 
#define uExternQueue_Static(que)   sCSV_ExternQueue_Static(que)
 声明静态队列 更多...
 
#define uExternQueue_Dynamic(que)   sCSV_ExternQueue_Dynamic(que)
 声明动态队列 更多...
 
#define uCreateQueue_Static(que, mode, len)   sCSV_CreateQueue_Static(que, mode, len)
 创建静态队列 更多...
 
#define uCreateQueue_Dynamic(que, mode, len)   sCSV_CreateQueue_Dynamic(que, mode, len)
 创建动态队列 更多...
 
#define uRecvMsg(que, tc)   sUSV_RecvMsg(que, tc)
 接收消息 更多...
 
#define uSendMsg(que, msg)   sUSV_SendMsg(que, msg)
 发送消息 更多...
 
#define uExternFlagGroup(group, bits)   sCSV_ExternFlagGroup(group, bits)
 声明标志组 更多...
 
#define uDefFlagBit(bit)   sDefBitField(bit)
 定义标志位 更多...
 
#define uDefVoidBits(nvb)   sDefVoidBits(nvb)
 定义空位 更多...
 
#define uCreateFlagGroup(group)   sCSV_CreateFlagGroup(group)
 创建标志组 更多...
 
#define uWaitFlagGroup(group, tc)    sUSV_WaitFlagGroup(group, tc)
 等待标志组 更多...
 
#define uQueryFlagGroup(group)    sUSV_QueryFlagGroup(group)
 查询标志组 更多...
 
#define uClearFlagGroup(group)    sUSV_ClearFlagGroup(group)
 清除标志组 更多...
 
#define uSetFlagBit(group, bit)    sUSV_WriteFlagBit(group, bit, true)
 设置标志位 更多...
 
#define uClearFlagBit(group, bit)    sUSV_WriteFlagBit(group, bit, false)
 清除标志位 更多...
 
#define iSetFlagBits(group, nbit)    sPSV_WriteFlagBits(group, +, nbit)
 设置多标志位 更多...
 
#define iClearFlagBits(group, nbit)   sPSV_WriteFlagBits(group, -, nbit)
 清除多标志位 更多...
 
#define xUpdateCopy(code)    sUpdateCopy(code)
 更新全局变量副本 更多...
 
#define iWhichGVar_Read   s_sign_updatecopy
 读哪一个全局变量? 更多...
 
#define iWriteGVar(gv, lv)    sPSV_WriteGVar((void *)&gv, (void *)&lv, sizeof(gv))
 写全局变量 更多...
 
#define iWriteGAry(gp, lp, size)   sPSV_WriteGVar(gp, lp, size)
 写全局数组 更多...
 
#define iWriteGStr(gs, ls)    sPSV_WriteGVar(gs, ls, 0)
 写全局字符串 更多...
 
#define iPendSVC(fp)    sPSV_PendSVC(fp)
 挂起服务调用 更多...
 
#define iSendSign(sign)    sPSV_SendSign(sign)
 发送信号 更多...
 
#define uGetTime(t)   sUSV_GetTime(t)
 获取时间 更多...
 
#define uSetTime(t)   sUSV_SetTime(t)
 设置时间 更多...
 
#define uMalloc(size)    sUSV_Malloc(size)
 malloc 更多...
 
#define uCalloc(nmemb, size)   sUSV_Calloc(nmemb, size)
 calloc 更多...
 
#define uRealloc(p, size)    sUSV_Realloc(p, size)
 realloc 更多...
 
#define uFree(p)    sUSV_Free(p)
 free 更多...
 
#define uCreateMempool   sCSV_CreateMempool
 创建线程内存池 更多...
 
#define uInitMempool(size)   sUSV_InitMempool(size)
 初始化线程内存池 更多...
 
#define uTalloc(size)    sUSV_Talloc(size)
 线程内存分配 更多...
 
#define uFreeMempool   sUSV_FreeMempool
 释放线程内存池 更多...
 
#define uScheduleLock   su_schedule_lock()
 调度上锁(进入任务临界区) 更多...
 
#define uScheduleUnlock   su_schedule_unlock()
 调度解锁(退出任务临界区) 更多...
 
#define uKernelLock   su_kernel_lock()
 内核上锁(进入服务层临界区) 更多...
 
#define uKernelUnlock   su_kernel_unlock()
 内核解锁(退出服务层临界区) 更多...
 
#define xDisableIRQ   mxDisableIRQ
 进入全局临界区 更多...
 
#define xResumeIRQ(oirq)    mxResumeIRQ(oirq)
 退出全局临界区 更多...
 
#define xMaskingPRI(npri)   mxMaskingPRI(npri)
 进入全局临界区 更多...
 
#define xResumePRI(opri)   mxResumePRI(opri)
 退出全局临界区 更多...
 
#define iDebugSend   s_sign_debug_send = true
 
#define iDebugRecv   s_sign_debug_recv = true
 
#define xTick_ms(ms)   ((1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
 毫秒转换为滴答周期 更多...
 
#define xTick_s(s)    xTick_ms(1000UL * (s))
 秒钟转换为滴答周期 更多...
 
#define xTick_m(m)    xTick_s(60UL * (m))
 分钟转换为滴答周期 更多...
 
#define xTick_h(h)    xTick_m(60UL * (h))
 小时转换为滴答周期 更多...
 
#define iPendSV_Set   mPendSV_Set
 

详细描述

用户API

CosyOS-II Kernel

用户API定义,含注释说明,所有内核服务的API说明均在此文件中,并支持 doxygen。

作者
迟凯峰
版本
V3.4.0
日期
2025.01.06

在文件 ur_api.h 中定义.